<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>zdma: xzdma.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">zdma
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xzdma_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xzdma.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma___descriptor.html">XZDma_Descriptor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains scatter gather descriptor fields for ZDMA core.  <a href="struct_x_z_dma___descriptor.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____attribute____.html">__attribute__</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains scatter gather descriptor fields for ZDMA core.  <a href="struct____attribute____.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____attribute____.html">__attribute__</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains scatter gather descriptor fields for ZDMA core.  <a href="struct____attribute____.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma___data_config.html">XZDma_DataConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the data configurations of ZDMA core.  <a href="struct_x_z_dma___data_config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma___dscr_config.html">XZDma_DscrConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the descriptor configurations of ZDMA core.  <a href="struct_x_z_dma___dscr_config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma___config.html">XZDma_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a ZDMA core Each ZDMA core should have a configuration structure associated.  <a href="struct_x_z_dma___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma.html">XZDma</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> driver instance data structure.  <a href="struct_x_z_dma.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_z_dma___transfer.html">XZDma_Transfer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains the fields for transfer of data.  <a href="struct_x_z_dma___transfer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a9d60ab769eea32f66b28c1a63c2d23cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a9d60ab769eea32f66b28c1a63c2d23cf">XZDma_IntrGetStatus</a>(InstancePtr)&#160;&#160;&#160;<a class="el" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, XZDMA_CH_ISR_OFFSET(InstancePtr))</td></tr>
<tr class="memdesc:a9d60ab769eea32f66b28c1a63c2d23cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns interrupt status read from Interrupt Status Register.  <a href="#a9d60ab769eea32f66b28c1a63c2d23cf">More...</a><br/></td></tr>
<tr class="separator:a9d60ab769eea32f66b28c1a63c2d23cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01dcc0932c4566c5efeefd0b781fea01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a01dcc0932c4566c5efeefd0b781fea01">XZDma_IntrClear</a>(InstancePtr, Mask)</td></tr>
<tr class="memdesc:a01dcc0932c4566c5efeefd0b781fea01"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears interrupt(s).  <a href="#a01dcc0932c4566c5efeefd0b781fea01">More...</a><br/></td></tr>
<tr class="separator:a01dcc0932c4566c5efeefd0b781fea01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c7e211a1e57e96c48039753506ababe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a2c7e211a1e57e96c48039753506ababe">XZDma_GetIntrMask</a>(InstancePtr)</td></tr>
<tr class="memdesc:a2c7e211a1e57e96c48039753506ababe"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns interrupt mask to know which interrupts are enabled and which of them were disabled.  <a href="#a2c7e211a1e57e96c48039753506ababe">More...</a><br/></td></tr>
<tr class="separator:a2c7e211a1e57e96c48039753506ababe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c45d0b9b9dbbc8f696d76c821f21368"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a3c45d0b9b9dbbc8f696d76c821f21368">XZDma_EnableIntr</a>(InstancePtr, Mask)&#160;&#160;&#160;(InstancePtr)-&gt;IntrMask = ((InstancePtr)-&gt;IntrMask | (Mask))</td></tr>
<tr class="memdesc:a3c45d0b9b9dbbc8f696d76c821f21368"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables individual interrupts of the ZDMA core by updating the Interrupt Enable register.  <a href="#a3c45d0b9b9dbbc8f696d76c821f21368">More...</a><br/></td></tr>
<tr class="separator:a3c45d0b9b9dbbc8f696d76c821f21368"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf5bc66296248406b7fa1a85e736e7f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#aaf5bc66296248406b7fa1a85e736e7f5">XZDma_DisableIntr</a>(InstancePtr, Mask)</td></tr>
<tr class="memdesc:aaf5bc66296248406b7fa1a85e736e7f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables individual interrupts of the ZDMA core by updating the Interrupt Disable register.  <a href="#aaf5bc66296248406b7fa1a85e736e7f5">More...</a><br/></td></tr>
<tr class="separator:aaf5bc66296248406b7fa1a85e736e7f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02b9cd667c274cd764987e24fc57a0ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a02b9cd667c274cd764987e24fc57a0ea">XZDma_SrcCurPyld</a>(InstancePtr)</td></tr>
<tr class="memdesc:a02b9cd667c274cd764987e24fc57a0ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns source current payload address under process of ZDMA core.  <a href="#a02b9cd667c274cd764987e24fc57a0ea">More...</a><br/></td></tr>
<tr class="separator:a02b9cd667c274cd764987e24fc57a0ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a710e00fbd0a31cf4ae5dbb3619a85272"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a710e00fbd0a31cf4ae5dbb3619a85272">XZDma_DstCurPyld</a>(InstancePtr)</td></tr>
<tr class="memdesc:a710e00fbd0a31cf4ae5dbb3619a85272"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns destination current payload address under process of ZDMA core.  <a href="#a710e00fbd0a31cf4ae5dbb3619a85272">More...</a><br/></td></tr>
<tr class="separator:a710e00fbd0a31cf4ae5dbb3619a85272"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a681e10dbfb692a24e359f504c4a5859a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a681e10dbfb692a24e359f504c4a5859a">XZDma_SrcDscrCurPyld</a>(InstancePtr)</td></tr>
<tr class="memdesc:a681e10dbfb692a24e359f504c4a5859a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns source descriptor current payload address under process of ZDMA core.  <a href="#a681e10dbfb692a24e359f504c4a5859a">More...</a><br/></td></tr>
<tr class="separator:a681e10dbfb692a24e359f504c4a5859a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a821cc6c9b639f9cf9d2248a83843cc8a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a821cc6c9b639f9cf9d2248a83843cc8a">XZDma_DstDscrCurPyld</a>(InstancePtr)</td></tr>
<tr class="memdesc:a821cc6c9b639f9cf9d2248a83843cc8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns destination descriptor current payload address under process of ZDMA core.  <a href="#a821cc6c9b639f9cf9d2248a83843cc8a">More...</a><br/></td></tr>
<tr class="separator:a821cc6c9b639f9cf9d2248a83843cc8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ec0697f63508ea21f1026538a29799"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a48ec0697f63508ea21f1026538a29799">XZDma_GetTotalByte</a>(InstancePtr)</td></tr>
<tr class="memdesc:a48ec0697f63508ea21f1026538a29799"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the count of total bytes transferred through core since last clear in ZDMA core.  <a href="#a48ec0697f63508ea21f1026538a29799">More...</a><br/></td></tr>
<tr class="separator:a48ec0697f63508ea21f1026538a29799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef935a114c847da7e5014be2f2237b79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#aef935a114c847da7e5014be2f2237b79">XZDma_TotalByteClear</a>(InstancePtr)</td></tr>
<tr class="memdesc:aef935a114c847da7e5014be2f2237b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears the count of total bytes transferred in ZDMA core.  <a href="#aef935a114c847da7e5014be2f2237b79">More...</a><br/></td></tr>
<tr class="separator:aef935a114c847da7e5014be2f2237b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53b741795f9b65cc29b1a8f7e5e15f9f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a53b741795f9b65cc29b1a8f7e5e15f9f">XZDma_GetSrcIntrCnt</a>(InstancePtr)</td></tr>
<tr class="memdesc:a53b741795f9b65cc29b1a8f7e5e15f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the total number of Interrupt count for source after last call of this API.  <a href="#a53b741795f9b65cc29b1a8f7e5e15f9f">More...</a><br/></td></tr>
<tr class="separator:a53b741795f9b65cc29b1a8f7e5e15f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20da79b41cec32ba5729c7208359a66d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a20da79b41cec32ba5729c7208359a66d">XZDma_GetDstIntrCnt</a>(InstancePtr)</td></tr>
<tr class="memdesc:a20da79b41cec32ba5729c7208359a66d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the total number of Interrupt count for destination after last call of this API.  <a href="#a20da79b41cec32ba5729c7208359a66d">More...</a><br/></td></tr>
<tr class="separator:a20da79b41cec32ba5729c7208359a66d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa521711575261553f4a6d65eece92d61"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#aa521711575261553f4a6d65eece92d61">XZDma_EnableCh</a>(InstancePtr)</td></tr>
<tr class="memdesc:aa521711575261553f4a6d65eece92d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function Enable's the ZDMA core for initiating the data transfer once the data transfer completes it will be automatically disabled.  <a href="#aa521711575261553f4a6d65eece92d61">More...</a><br/></td></tr>
<tr class="separator:aa521711575261553f4a6d65eece92d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb977b875b07151264f4a70527052885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#abb977b875b07151264f4a70527052885">XZDma_DisableCh</a>(InstancePtr)</td></tr>
<tr class="memdesc:abb977b875b07151264f4a70527052885"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function Disable's the ZDMA core.  <a href="#abb977b875b07151264f4a70527052885">More...</a><br/></td></tr>
<tr class="separator:abb977b875b07151264f4a70527052885"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a741c5a34979dbc89ac158ce254092481"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a741c5a34979dbc89ac158ce254092481">XZDma_DoneHandler</a> )(void *CallBackRef)</td></tr>
<tr class="memdesc:a741c5a34979dbc89ac158ce254092481"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type for Completion of all data transfers.  <a href="#a741c5a34979dbc89ac158ce254092481">More...</a><br/></td></tr>
<tr class="separator:a741c5a34979dbc89ac158ce254092481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac57192732fbc322f6875a31f9d7b830e"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#ac57192732fbc322f6875a31f9d7b830e">XZDma_ErrorHandler</a> )(void *CallBackRef, u32 ErrorMask)</td></tr>
<tr class="memdesc:ac57192732fbc322f6875a31f9d7b830e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type for all error interrupts.  <a href="#ac57192732fbc322f6875a31f9d7b830e">More...</a><br/></td></tr>
<tr class="separator:ac57192732fbc322f6875a31f9d7b830e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga37a3c751884020089469a54e242ff4cd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga37a3c751884020089469a54e242ff4cd">XZDma_Handler</a> { <a class="el" href="group__zdma.html#gga37a3c751884020089469a54e242ff4cdaaffcfeb2b42f83e2654e1d58d609f0ab">XZDMA_HANDLER_DONE</a>, 
<a class="el" href="group__zdma.html#gga37a3c751884020089469a54e242ff4cdafc560c87ab5657b331fb72c38c1ad83c">XZDMA_HANDLER_ERROR</a>
 }</td></tr>
<tr class="memdesc:ga37a3c751884020089469a54e242ff4cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains ZDMA Handler Types.  <a href="group__zdma.html#ga37a3c751884020089469a54e242ff4cd">More...</a><br/></td></tr>
<tr class="separator:ga37a3c751884020089469a54e242ff4cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8deecd1bc1f130b591748afb1790a013"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013">XZDma_DscrType</a> { <a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013aa5faec59ce5ba9d1875de52ecff6fb09">XZDMA_LINEAR</a>, 
<a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013ac4b925288997818ea5ce2be83f8cbfba">XZDMA_LINKEDLIST</a>
 }</td></tr>
<tr class="memdesc:a8deecd1bc1f130b591748afb1790a013"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains ZDMA Descriptors Types.  <a href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013">More...</a><br/></td></tr>
<tr class="separator:a8deecd1bc1f130b591748afb1790a013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84e5ba98d56dac2078e4bc68d5b5ab92"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92">XZDma_Mode</a> { <a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92acfd0a78e43b38febc3d4985a8b62efa5">XZDMA_NORMAL_MODE</a>, 
<a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92adef85a4c2d7f8c93dd77aa8156be25bd">XZDMA_WRONLY_MODE</a>, 
<a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92ae1f570b5830d33f5969892bfe72da8e1">XZDMA_RDONLY_MODE</a>
 }</td></tr>
<tr class="memdesc:a84e5ba98d56dac2078e4bc68d5b5ab92"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains ZDMA Operation modes.  <a href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92">More...</a><br/></td></tr>
<tr class="separator:a84e5ba98d56dac2078e4bc68d5b5ab92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19f8494063d56f2f39f9d40e6ded952a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952a">XZDmaState</a> { <a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952aa598386ffccc9121fe927b5d761e0d07b">XZDMA_IDLE</a>, 
<a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952aadce3cf4581ae7112ecb82e47127e7202">XZDMA_PAUSE</a>, 
<a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952aac7f53a5b63f7f73793a60c5213c695df">XZDMA_BUSY</a>
 }</td></tr>
<tr class="memdesc:a19f8494063d56f2f39f9d40e6ded952a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains ZDMA state.  <a href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952a">More...</a><br/></td></tr>
<tr class="separator:a19f8494063d56f2f39f9d40e6ded952a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33d08476ea20e18a5faa8db3799f7c9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xzdma_8h.html#ac33d08476ea20e18a5faa8db3799f7c9">XZDma_BurstType</a> { <a class="el" href="xzdma_8h.html#ac33d08476ea20e18a5faa8db3799f7c9aed5f41fb63463ce8370fa81049f72dd9">XZDMA_FIXED_BURST</a> = 0, 
<a class="el" href="xzdma_8h.html#ac33d08476ea20e18a5faa8db3799f7c9aa723f72b862e0f3587da5c66c70dd13b">XZDMA_INCR_BURST</a>
 }</td></tr>
<tr class="memdesc:ac33d08476ea20e18a5faa8db3799f7c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains ZDMA AXI Burst type definitions.  <a href="xzdma_8h.html#ac33d08476ea20e18a5faa8db3799f7c9">More...</a><br/></td></tr>
<tr class="separator:ac33d08476ea20e18a5faa8db3799f7c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga1f24016eafb7226d1f8754082a24d95d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_z_dma___config.html">XZDma_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga1f24016eafb7226d1f8754082a24d95d">XZDma_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga1f24016eafb7226d1f8754082a24d95d"><td class="mdescLeft">&#160;</td><td class="mdescRight">XZDma_LookupConfig returns a reference to an <a class="el" href="struct_x_z_dma___config.html" title="This typedef contains configuration information for a ZDMA core Each ZDMA core should have a configur...">XZDma_Config</a> structure based on the unique device id, <em>DeviceId</em>.  <a href="group__zdma.html#ga1f24016eafb7226d1f8754082a24d95d">More...</a><br/></td></tr>
<tr class="separator:ga1f24016eafb7226d1f8754082a24d95d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad882e6d7430871e5b71643c8be2512d5"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gad882e6d7430871e5b71643c8be2512d5">XZDma_CfgInitialize</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___config.html">XZDma_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr class="memdesc:gad882e6d7430871e5b71643c8be2512d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes an ZDMA core.  <a href="group__zdma.html#gad882e6d7430871e5b71643c8be2512d5">More...</a><br/></td></tr>
<tr class="separator:gad882e6d7430871e5b71643c8be2512d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1772f190fe0a67a17c78f5f23fc8024"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gaf1772f190fe0a67a17c78f5f23fc8024">XZDma_SetMode</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, u8 IsSgDma, <a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92">XZDma_Mode</a> Mode)</td></tr>
<tr class="memdesc:gaf1772f190fe0a67a17c78f5f23fc8024"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the pointer type and mode in which ZDMA needs to transfer the data.  <a href="group__zdma.html#gaf1772f190fe0a67a17c78f5f23fc8024">More...</a><br/></td></tr>
<tr class="separator:gaf1772f190fe0a67a17c78f5f23fc8024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f701b228ebc77f96faaba09cd9c63db"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga4f701b228ebc77f96faaba09cd9c63db">XZDma_CreateBDList</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013">XZDma_DscrType</a> TypeOfDscr, UINTPTR Dscr_MemPtr, u32 NoOfBytes)</td></tr>
<tr class="memdesc:ga4f701b228ebc77f96faaba09cd9c63db"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the descriptor type and descriptor pointer's start address of both source and destination based on the memory allocated by user and also calculates no of descriptors(BDs) can be created in the allocated memory.  <a href="group__zdma.html#ga4f701b228ebc77f96faaba09cd9c63db">More...</a><br/></td></tr>
<tr class="separator:ga4f701b228ebc77f96faaba09cd9c63db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f83e94a6ecae10b6bff851d76ffef24"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga9f83e94a6ecae10b6bff851d76ffef24">XZDma_SetChDataConfig</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___data_config.html">XZDma_DataConfig</a> *Configure)</td></tr>
<tr class="memdesc:ga9f83e94a6ecae10b6bff851d76ffef24"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the data attributes and control configurations of a ZDMA core based on the inputs provided.  <a href="group__zdma.html#ga9f83e94a6ecae10b6bff851d76ffef24">More...</a><br/></td></tr>
<tr class="separator:ga9f83e94a6ecae10b6bff851d76ffef24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdca22a1e7cd74b3f2acbfec3f0509f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gacdca22a1e7cd74b3f2acbfec3f0509f4">XZDma_GetChDataConfig</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___data_config.html">XZDma_DataConfig</a> *Configure)</td></tr>
<tr class="memdesc:gacdca22a1e7cd74b3f2acbfec3f0509f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the data attributes and control configurations of a ZDMA core.  <a href="group__zdma.html#gacdca22a1e7cd74b3f2acbfec3f0509f4">More...</a><br/></td></tr>
<tr class="separator:gacdca22a1e7cd74b3f2acbfec3f0509f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga860cde1482bc78429ea5c6f1d3da9014"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga860cde1482bc78429ea5c6f1d3da9014">XZDma_SetChDscrConfig</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___dscr_config.html">XZDma_DscrConfig</a> *Configure)</td></tr>
<tr class="memdesc:ga860cde1482bc78429ea5c6f1d3da9014"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the descriptor attributes based on the inputs provided in the structure.  <a href="group__zdma.html#ga860cde1482bc78429ea5c6f1d3da9014">More...</a><br/></td></tr>
<tr class="separator:ga860cde1482bc78429ea5c6f1d3da9014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga595ab84007b44249fe04571d18856158"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga595ab84007b44249fe04571d18856158">XZDma_GetChDscrConfig</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___dscr_config.html">XZDma_DscrConfig</a> *Configure)</td></tr>
<tr class="memdesc:ga595ab84007b44249fe04571d18856158"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the descriptor attributes of the channel.  <a href="group__zdma.html#ga595ab84007b44249fe04571d18856158">More...</a><br/></td></tr>
<tr class="separator:ga595ab84007b44249fe04571d18856158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70f7466e97aae2126181727774f6e6bb"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga70f7466e97aae2126181727774f6e6bb">XZDma_Start</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___transfer.html">XZDma_Transfer</a> *Data, u32 Num)</td></tr>
<tr class="memdesc:ga70f7466e97aae2126181727774f6e6bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets all the required fields for initiating data transfer.  <a href="group__zdma.html#ga70f7466e97aae2126181727774f6e6bb">More...</a><br/></td></tr>
<tr class="separator:ga70f7466e97aae2126181727774f6e6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15a0124d42f8ff48e54f32c1b643fe7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga15a0124d42f8ff48e54f32c1b643fe7b">XZDma_WOData</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, u32 *Buffer)</td></tr>
<tr class="memdesc:ga15a0124d42f8ff48e54f32c1b643fe7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function preloads the buffers which will be used in write only mode.  <a href="group__zdma.html#ga15a0124d42f8ff48e54f32c1b643fe7b">More...</a><br/></td></tr>
<tr class="separator:ga15a0124d42f8ff48e54f32c1b643fe7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cb39835692353e5c34d95938b8ce8d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga7cb39835692353e5c34d95938b8ce8d0">XZDma_Resume</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga7cb39835692353e5c34d95938b8ce8d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resume the paused state of ZDMA core and starts the transfer from where it has paused.  <a href="group__zdma.html#ga7cb39835692353e5c34d95938b8ce8d0">More...</a><br/></td></tr>
<tr class="separator:ga7cb39835692353e5c34d95938b8ce8d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf236c2323636d87ab0888b2d6f55a313"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaf236c2323636d87ab0888b2d6f55a313"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function resets the ZDMA core.  <a href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">More...</a><br/></td></tr>
<tr class="separator:gaf236c2323636d87ab0888b2d6f55a313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbb337d990f31dc8932356f5abeb78bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952a">XZDmaState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gabbb337d990f31dc8932356f5abeb78bf">XZDma_ChannelState</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:gabbb337d990f31dc8932356f5abeb78bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the state of ZDMA core.  <a href="group__zdma.html#gabbb337d990f31dc8932356f5abeb78bf">More...</a><br/></td></tr>
<tr class="separator:gabbb337d990f31dc8932356f5abeb78bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga166edb355a4395294e7910c68f4840ca"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga166edb355a4395294e7910c68f4840ca">XZDma_SelfTest</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga166edb355a4395294e7910c68f4840ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">This file contains a diagnostic self-test function for the ZDMA driver.  <a href="group__zdma.html#ga166edb355a4395294e7910c68f4840ca">More...</a><br/></td></tr>
<tr class="separator:ga166edb355a4395294e7910c68f4840ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5012fbb827d2330cae8cb90cafb388c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler</a> (void *Instance)</td></tr>
<tr class="memdesc:gaa5012fbb827d2330cae8cb90cafb388c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the interrupt handler for the ZDMA core.  <a href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">More...</a><br/></td></tr>
<tr class="separator:gaa5012fbb827d2330cae8cb90cafb388c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78a9c500b9c87963f7695fc5edf87a21"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga78a9c500b9c87963f7695fc5edf87a21">XZDma_SetCallBack</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="group__zdma.html#ga37a3c751884020089469a54e242ff4cd">XZDma_Handler</a> HandlerType, void *CallBackFunc, void *CallBackRef)</td></tr>
<tr class="memdesc:ga78a9c500b9c87963f7695fc5edf87a21"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine installs an asynchronous callback function for the given HandlerType.  <a href="group__zdma.html#ga78a9c500b9c87963f7695fc5edf87a21">More...</a><br/></td></tr>
<tr class="separator:ga78a9c500b9c87963f7695fc5edf87a21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e1c01839429d264c285bc7488b42fb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga4e1c01839429d264c285bc7488b42fb8">XZDma_ScatterGather</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr, <a class="el" href="struct_x_z_dma___transfer.html">XZDma_Transfer</a> *Data, u32 Num)</td></tr>
<tr class="memdesc:ga4e1c01839429d264c285bc7488b42fb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets all the required fields for initiating data transfer in scatter gather mode.  <a href="group__zdma.html#ga4e1c01839429d264c285bc7488b42fb8">More...</a><br/></td></tr>
<tr class="separator:ga4e1c01839429d264c285bc7488b42fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34c98a505b24c6e549ed7f746a82676e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__zdma.html#ga34c98a505b24c6e549ed7f746a82676e">XZDma_Enable</a> (<a class="el" href="struct_x_z_dma.html">XZDma</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga34c98a505b24c6e549ed7f746a82676e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables all the interrupts which user intended to enable and enables the ZDMA channel for initiating data transfer.  <a href="group__zdma.html#ga34c98a505b24c6e549ed7f746a82676e">More...</a><br/></td></tr>
<tr class="separator:ga34c98a505b24c6e549ed7f746a82676e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="abb977b875b07151264f4a70527052885"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_DisableCh</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress,\</div>
<div class="line">                       (XZDMA_CH_CTRL2_OFFSET), (<a class="code" href="group__zdma.html#ga90faf95a70486b3e9f1782f2e7a89767">XZDMA_CH_CTRL2_DIS_MASK</a>))</div>
<div class="ttc" id="group__zdma_html_ga90faf95a70486b3e9f1782f2e7a89767"><div class="ttname"><a href="group__zdma.html#ga90faf95a70486b3e9f1782f2e7a89767">XZDMA_CH_CTRL2_DIS_MASK</a></div><div class="ttdeci">#define XZDMA_CH_CTRL2_DIS_MASK</div><div class="ttdoc">Channel disable mask. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:355</div></div>
<div class="ttc" id="group__zdma_html_ga1fe52ea6cc149bd35296d497837eff5b"><div class="ttname"><a href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a></div><div class="ttdeci">#define XZDma_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the value into the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:405</div></div>
</div><!-- fragment -->
<p>This function Disable's the ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. C-style signature: void <a class="el" href="xzdma_8h.html#abb977b875b07151264f4a70527052885" title="This function Disable&#39;s the ZDMA core. ">XZDma_DisableCh(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf5bc66296248406b7fa1a85e736e7f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_DisableIntr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Mask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a>( (InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                        XZDMA_CH_IDS_OFFSET(InstancePtr), \</div>
<div class="line">                        ((u32)<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                            XZDMA_CH_IDS_OFFSET(InstancePtr)) | ((u32)(Mask) &amp; (u32)<a class="code" href="group__zdma.html#gad82b072a8c2cc4c5e32fc43e9822e634">XZDMA_IXR_ALL_INTR_MASK</a>)))</div>
<div class="ttc" id="group__zdma_html_gad82b072a8c2cc4c5e32fc43e9822e634"><div class="ttname"><a href="group__zdma.html#gad82b072a8c2cc4c5e32fc43e9822e634">XZDMA_IXR_ALL_INTR_MASK</a></div><div class="ttdeci">#define XZDMA_IXR_ALL_INTR_MASK</div><div class="ttdoc">IXR OR of all the interrupts mask. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:142</div></div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga1fe52ea6cc149bd35296d497837eff5b"><div class="ttname"><a href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a></div><div class="ttdeci">#define XZDma_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the value into the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:405</div></div>
</div><!-- fragment -->
<p>This function disables individual interrupts of the ZDMA core by updating the Interrupt Disable register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the type of the interrupts to disable. Use OR'ing of XZDMA_IXR_DMA_*_MASK constants defined in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> to create this parameter value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The existing disabled interrupt(s) will remain disabled. C-style signature: void <a class="el" href="xzdma_8h.html#aaf5bc66296248406b7fa1a85e736e7f5" title="This function disables individual interrupts of the ZDMA core by updating the Interrupt Disable regis...">XZDma_DisableIntr(XZDma *InstancePtr, u32 Mask)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler()</a>, <a class="el" href="xzdma__linear__example_8c.html#a4d3f40edf2d265f5df9a045f27ba5ff5">XZDma_LinearExample()</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>, <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>, <a class="el" href="xzdma__simple__example_8c.html#a378c4f0e9236ec692d7f32d7fe4220e7">XZDma_SimpleExample()</a>, and <a class="el" href="xzdma__writeonlymode__example_8c.html#a18349b17c717df9dd089f5e9a3b465b9">XZDma_WriteOnlyExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a710e00fbd0a31cf4ae5dbb3619a85272"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_DstCurPyld</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                             XZDMA_CH_DST_CUR_PYLD_LSB_OFFSET)) | \</div>
<div class="line">         ((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                              XZDMA_CH_DST_CUR_PYLD_MSB_OFFSET)) &lt;&lt; <a class="code" href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a>))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga055f4c7ad4789221cc57f6006e616d7f"><div class="ttname"><a href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a></div><div class="ttdeci">#define XZDMA_WORD1_MSB_SHIFT</div><div class="ttdoc">MSB Address shift. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:274</div></div>
</div><!-- fragment -->
<p>This function returns destination current payload address under process of ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This address may not be precise due to ZDMA pipeline structure C-style signature: u64 <a class="el" href="xzdma_8h.html#a710e00fbd0a31cf4ae5dbb3619a85272" title="This function returns destination current payload address under process of ZDMA core. ">XZDma_DstCurPyld(XZDma *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a821cc6c9b639f9cf9d2248a83843cc8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_DstDscrCurPyld</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                             XZDMA_CH_DST_CUR_DSCR_LSB_OFFSET)) | \</div>
<div class="line">         ((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                              XZDMA_CH_DST_CUR_DSCR_MSB_OFFSET)) &lt;&lt; <a class="code" href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a>))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga055f4c7ad4789221cc57f6006e616d7f"><div class="ttname"><a href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a></div><div class="ttdeci">#define XZDMA_WORD1_MSB_SHIFT</div><div class="ttdoc">MSB Address shift. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:274</div></div>
</div><!-- fragment -->
<p>This function returns destination descriptor current payload address under process of ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This address may not be precise due to ZDMA pipeline structure C-style signature: u64 <a class="el" href="xzdma_8h.html#a821cc6c9b639f9cf9d2248a83843cc8a" title="This function returns destination descriptor current payload address under process of ZDMA core...">XZDma_DstDscrCurPyld(XZDma *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa521711575261553f4a6d65eece92d61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_EnableCh</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                       (XZDMA_CH_CTRL2_OFFSET), (<a class="code" href="group__zdma.html#gaca1442dbc95787a8aaa20b1f8640a85a">XZDMA_CH_CTRL2_EN_MASK</a>))</div>
<div class="ttc" id="group__zdma_html_gaca1442dbc95787a8aaa20b1f8640a85a"><div class="ttname"><a href="group__zdma.html#gaca1442dbc95787a8aaa20b1f8640a85a">XZDMA_CH_CTRL2_EN_MASK</a></div><div class="ttdeci">#define XZDMA_CH_CTRL2_EN_MASK</div><div class="ttdoc">Channel enable mask. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:352</div></div>
<div class="ttc" id="group__zdma_html_ga1fe52ea6cc149bd35296d497837eff5b"><div class="ttname"><a href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a></div><div class="ttdeci">#define XZDma_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the value into the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:405</div></div>
</div><!-- fragment -->
<p>This function Enable's the ZDMA core for initiating the data transfer once the data transfer completes it will be automatically disabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. C-style signature: void <a class="el" href="xzdma_8h.html#aa521711575261553f4a6d65eece92d61" title="This function Enable&#39;s the ZDMA core for initiating the data transfer once the data transfer complete...">XZDma_EnableCh(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#ga34c98a505b24c6e549ed7f746a82676e">XZDma_Enable()</a>.</p>

</div>
</div>
<a class="anchor" id="a3c45d0b9b9dbbc8f696d76c821f21368"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_EnableIntr</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Mask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(InstancePtr)-&gt;IntrMask = ((InstancePtr)-&gt;IntrMask | (Mask))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables individual interrupts of the ZDMA core by updating the Interrupt Enable register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the type of the interrupts to enable. Use OR'ing of XZDMA_IXR_DMA_*_MASK constants defined in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> to create this parameter value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The existing enabled interrupt(s) will remain enabled. C-style signature: void <a class="el" href="xzdma_8h.html#a3c45d0b9b9dbbc8f696d76c821f21368" title="This function enables individual interrupts of the ZDMA core by updating the Interrupt Enable registe...">XZDma_EnableIntr(XZDma *InstancePtr, u32 Mask)</a> </dd></dl>

<p>Referenced by <a class="el" href="xzdma__linear__example_8c.html#a4d3f40edf2d265f5df9a045f27ba5ff5">XZDma_LinearExample()</a>, <a class="el" href="xzdma__linkedlist__example_8c.html#a4760deea4e054235c55a504187d96988">XZDma_LinkedListExample()</a>, <a class="el" href="xzdma__simple__example_8c.html#a378c4f0e9236ec692d7f32d7fe4220e7">XZDma_SimpleExample()</a>, <a class="el" href="xzdma__readonlymode__example_8c.html#a422668353271c6d61d0b749f6f7cd048">XZDma_SimpleReadOnlyExample()</a>, and <a class="el" href="xzdma__writeonlymode__example_8c.html#a18349b17c717df9dd089f5e9a3b465b9">XZDma_WriteOnlyExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a20da79b41cec32ba5729c7208359a66d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_GetDstIntrCnt</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                      XZDMA_CH_IRQ_DST_ACCT_OFFSET)</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
</div><!-- fragment -->
<p>This function gets the total number of Interrupt count for destination after last call of this API. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Once this API is called then count will become zero. C-style signature: void <a class="el" href="xzdma_8h.html#a20da79b41cec32ba5729c7208359a66d" title="This function gets the total number of Interrupt count for destination after last call of this API...">XZDma_GetDstIntrCnt(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a2c7e211a1e57e96c48039753506ababe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_GetIntrMask</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress,  \</div>
<div class="line">                      (u32)(XZDMA_CH_IMR_OFFSET(InstancePtr)))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
</div><!-- fragment -->
<p>This function returns interrupt mask to know which interrupts are enabled and which of them were disabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The current interrupt mask. The mask indicates which interrupts are enabled/disabled. 0 bit represents .....corresponding interrupt is enabled. 1 bit represents .....Corresponding interrupt is disabled.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xzdma_8h.html#a2c7e211a1e57e96c48039753506ababe" title="This function returns interrupt mask to know which interrupts are enabled and which of them were disa...">XZDma_GetIntrMask(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a53b741795f9b65cc29b1a8f7e5e15f9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_GetSrcIntrCnt</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                      XZDMA_CH_IRQ_SRC_ACCT_OFFSET)</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
</div><!-- fragment -->
<p>This function gets the total number of Interrupt count for source after last call of this API. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Once this API is called then count will become zero. C-style signature: void <a class="el" href="xzdma_8h.html#a53b741795f9b65cc29b1a8f7e5e15f9f" title="This function gets the total number of Interrupt count for source after last call of this API...">XZDma_GetSrcIntrCnt(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a48ec0697f63508ea21f1026538a29799"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_GetTotalByte</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                      XZDMA_CH_TOTAL_BYTE_OFFSET)</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
</div><!-- fragment -->
<p>This function gets the count of total bytes transferred through core since last clear in ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xzdma_8h.html#a48ec0697f63508ea21f1026538a29799" title="This function gets the count of total bytes transferred through core since last clear in ZDMA core...">XZDma_GetTotalByte(XZDma *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a01dcc0932c4566c5efeefd0b781fea01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_IntrClear</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Mask&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a>( (InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                        XZDMA_CH_ISR_OFFSET(InstancePtr), ((u32)(Mask) &amp; (u32)<a class="code" href="group__zdma.html#gad82b072a8c2cc4c5e32fc43e9822e634">XZDMA_IXR_ALL_INTR_MASK</a>))</div>
<div class="ttc" id="group__zdma_html_gad82b072a8c2cc4c5e32fc43e9822e634"><div class="ttname"><a href="group__zdma.html#gad82b072a8c2cc4c5e32fc43e9822e634">XZDMA_IXR_ALL_INTR_MASK</a></div><div class="ttdeci">#define XZDMA_IXR_ALL_INTR_MASK</div><div class="ttdoc">IXR OR of all the interrupts mask. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:142</div></div>
<div class="ttc" id="group__zdma_html_ga1fe52ea6cc149bd35296d497837eff5b"><div class="ttname"><a href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a></div><div class="ttdeci">#define XZDma_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the value into the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:405</div></div>
</div><!-- fragment -->
<p>This function clears interrupt(s). </p>
<p>Every bit set in Interrupt Status Register indicates that a specific type of interrupt is occurring, and this function clears one or more interrupts by writing a bit mask to Interrupt Clear Register.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>is the type of the interrupts to enable. Use OR'ing of XZDMA_IXR_DMA_*_MASK constants defined in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> to create this parameter value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xzdma_8h.html#a01dcc0932c4566c5efeefd0b781fea01" title="This function clears interrupt(s). ">XZDma_IntrClear(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler()</a>, and <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d60ab769eea32f66b28c1a63c2d23cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_IntrGetStatus</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, XZDMA_CH_ISR_OFFSET(InstancePtr))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns interrupt status read from Interrupt Status Register. </p>
<p>Use the XZDMA_IXR_DMA_*_MASK constants defined in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> to interpret the returned value.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pending interrupts of the ZDMA core. Use the masks specified in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> to interpret the returned value. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xzdma_8h.html#a9d60ab769eea32f66b28c1a63c2d23cf" title="This function returns interrupt status read from Interrupt Status Register. ">XZDma_IntrGetStatus(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaa5012fbb827d2330cae8cb90cafb388c">XZDma_IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a02b9cd667c274cd764987e24fc57a0ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_SrcCurPyld</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                             XZDMA_CH_SRC_CUR_PYLD_LSB_OFFSET)) | \</div>
<div class="line">         ((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                              XZDMA_CH_SRC_CUR_PYLD_MSB_OFFSET)) &lt;&lt; <a class="code" href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a>))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga055f4c7ad4789221cc57f6006e616d7f"><div class="ttname"><a href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a></div><div class="ttdeci">#define XZDMA_WORD1_MSB_SHIFT</div><div class="ttdoc">MSB Address shift. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:274</div></div>
</div><!-- fragment -->
<p>This function returns source current payload address under process of ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This address may not be precise due to ZDMA pipeline structure C-style signature: u64 <a class="el" href="xzdma_8h.html#a02b9cd667c274cd764987e24fc57a0ea" title="This function returns source current payload address under process of ZDMA core. ">XZDma_SrcCurPyld(XZDma *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a681e10dbfb692a24e359f504c4a5859a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_SrcDscrCurPyld</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                             XZDMA_CH_SRC_CUR_DSCR_LSB_OFFSET)) | \</div>
<div class="line">         ((u64)(<a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                              XZDMA_CH_SRC_CUR_DSCR_MSB_OFFSET)) &lt;&lt; <a class="code" href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a>))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga055f4c7ad4789221cc57f6006e616d7f"><div class="ttname"><a href="group__zdma.html#ga055f4c7ad4789221cc57f6006e616d7f">XZDMA_WORD1_MSB_SHIFT</a></div><div class="ttdeci">#define XZDMA_WORD1_MSB_SHIFT</div><div class="ttdoc">MSB Address shift. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:274</div></div>
</div><!-- fragment -->
<p>This function returns source descriptor current payload address under process of ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This address may not be precise due to ZDMA pipeline structure C-style signature: u64 <a class="el" href="xzdma_8h.html#a681e10dbfb692a24e359f504c4a5859a" title="This function returns source descriptor current payload address under process of ZDMA core...">XZDma_SrcDscrCurPyld(XZDma *InstancePtr)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aef935a114c847da7e5014be2f2237b79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XZDma_TotalByteClear</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">InstancePtr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                       XZDMA_CH_TOTAL_BYTE_OFFSET, \</div>
<div class="line">                       <a class="code" href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a>((InstancePtr)-&gt;Config.BaseAddress, \</div>
<div class="line">                                     XZDMA_CH_TOTAL_BYTE_OFFSET))</div>
<div class="ttc" id="group__zdma_html_gaf3bdd7a21f9d6add3ec23802122a7a85"><div class="ttname"><a href="group__zdma.html#gaf3bdd7a21f9d6add3ec23802122a7a85">XZDma_ReadReg</a></div><div class="ttdeci">#define XZDma_ReadReg(BaseAddress, RegOffset)</div><div class="ttdoc">This macro reads the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:387</div></div>
<div class="ttc" id="group__zdma_html_ga1fe52ea6cc149bd35296d497837eff5b"><div class="ttname"><a href="group__zdma.html#ga1fe52ea6cc149bd35296d497837eff5b">XZDma_WriteReg</a></div><div class="ttdeci">#define XZDma_WriteReg(BaseAddress, RegOffset, Data)</div><div class="ttdoc">This macro writes the value into the given register. </div><div class="ttdef"><b>Definition:</b> xzdma_hw.h:405</div></div>
</div><!-- fragment -->
<p>This function clears the count of total bytes transferred in ZDMA core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_z_dma.html" title="The XZDma driver instance data structure. ">XZDma</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>C-style signature: void <a class="el" href="xzdma_8h.html#aef935a114c847da7e5014be2f2237b79" title="This function clears the count of total bytes transferred in ZDMA core. ">XZDma_TotalByteClear(XZDma *InstancePtr)</a> </dd></dl>

<p>Referenced by <a class="el" href="group__zdma.html#gaf236c2323636d87ab0888b2d6f55a313">XZDma_Reset()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a741c5a34979dbc89ac158ce254092481"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XZDma_DoneHandler)(void *CallBackRef)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type for Completion of all data transfers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac57192732fbc322f6875a31f9d7b830e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XZDma_ErrorHandler)(void *CallBackRef, u32 ErrorMask)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type for all error interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
    <tr><td class="paramname">ErrorMask</td><td>is a bit mask indicating the cause of the error. Its value equals 'OR'ing one or more XZDMA_IXR_* values defined in <a class="el" href="xzdma__hw_8h.html">xzdma_hw.h</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ac33d08476ea20e18a5faa8db3799f7c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xzdma_8h.html#ac33d08476ea20e18a5faa8db3799f7c9">XZDma_BurstType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains ZDMA AXI Burst type definitions. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ac33d08476ea20e18a5faa8db3799f7c9aed5f41fb63463ce8370fa81049f72dd9"></a>XZDMA_FIXED_BURST</em>&nbsp;</td><td class="fielddoc">
<p>Fixed burst type. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ac33d08476ea20e18a5faa8db3799f7c9aa723f72b862e0f3587da5c66c70dd13b"></a>XZDMA_INCR_BURST</em>&nbsp;</td><td class="fielddoc">
<p>Increment burst type. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a8deecd1bc1f130b591748afb1790a013"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xzdma_8h.html#a8deecd1bc1f130b591748afb1790a013">XZDma_DscrType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains ZDMA Descriptors Types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a8deecd1bc1f130b591748afb1790a013aa5faec59ce5ba9d1875de52ecff6fb09"></a>XZDMA_LINEAR</em>&nbsp;</td><td class="fielddoc">
<p>Linear descriptor. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a8deecd1bc1f130b591748afb1790a013ac4b925288997818ea5ce2be83f8cbfba"></a>XZDMA_LINKEDLIST</em>&nbsp;</td><td class="fielddoc">
<p>Linked list descriptor. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a84e5ba98d56dac2078e4bc68d5b5ab92"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xzdma_8h.html#a84e5ba98d56dac2078e4bc68d5b5ab92">XZDma_Mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains ZDMA Operation modes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a84e5ba98d56dac2078e4bc68d5b5ab92acfd0a78e43b38febc3d4985a8b62efa5"></a>XZDMA_NORMAL_MODE</em>&nbsp;</td><td class="fielddoc">
<p>Normal transfer from source to destination. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a84e5ba98d56dac2078e4bc68d5b5ab92adef85a4c2d7f8c93dd77aa8156be25bd"></a>XZDMA_WRONLY_MODE</em>&nbsp;</td><td class="fielddoc">
<p>Write only mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a84e5ba98d56dac2078e4bc68d5b5ab92ae1f570b5830d33f5969892bfe72da8e1"></a>XZDMA_RDONLY_MODE</em>&nbsp;</td><td class="fielddoc">
<p>Read only mode. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a19f8494063d56f2f39f9d40e6ded952a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="xzdma_8h.html#a19f8494063d56f2f39f9d40e6ded952a">XZDmaState</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains ZDMA state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a19f8494063d56f2f39f9d40e6ded952aa598386ffccc9121fe927b5d761e0d07b"></a>XZDMA_IDLE</em>&nbsp;</td><td class="fielddoc">
<p>ZDMA is in Idle state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a19f8494063d56f2f39f9d40e6ded952aadce3cf4581ae7112ecb82e47127e7202"></a>XZDMA_PAUSE</em>&nbsp;</td><td class="fielddoc">
<p>Paused state. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a19f8494063d56f2f39f9d40e6ded952aac7f53a5b63f7f73793a60c5213c695df"></a>XZDMA_BUSY</em>&nbsp;</td><td class="fielddoc">
<p>Busy state. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
